#pragma once 

#include <stdio.h>
#include <string>
#include <algorithm>
#include <vector>
#include <cstdlib>
#include <iostream>
#include <QGLWidget>
#include "Point.h"
#include "Forme3D.h"

/*!
* @class Cube
* @brief Forme 3D de base, le cube
*/
class CCube : public CForme3D
{
public:
	CCube(CPoint _p, int _cote);
	CCube(CPoint _p, int _cote, int c);
	~CCube();
	void DessineObjet();
	CPoint GetPCentre();
	CPoint GetP1();
	CPoint GetP2();
	CPoint GetP3();
	CPoint GetP4();
	CPoint GetP5();
	CPoint GetP6();
	CPoint GetP7();
	CPoint GetP8();
	int GetCote();
	int GetCouleur();

private:
	void SetPCentre(CPoint _p);
	void SetP1(CPoint _p);
	void SetP2(CPoint _p);
	void SetP3(CPoint _p);
	void SetP4(CPoint _p);
	void SetP5(CPoint _p);
	void SetP6(CPoint _p);
	void SetP7(CPoint _p);
	void SetP8(CPoint _p);
	void SetCote(int _cote);
	void SetCouleur(int _couleur);

protected:	
	CPoint pCentre;
	CPoint p1;
	CPoint p2;
	CPoint p3;
	CPoint p4;
	CPoint p5;
	CPoint p6;
	CPoint p7;
	CPoint p8;
	int couleur;
	int cote;
};